/// <reference path="../types/index.d.ts" />

// 导入整个 mobx 模块并默认导出
import tsuki from 'mobx/dist/mobx.cjs.production.min.js';

export const {
    IObservable,
    IDepTreeNode,
    Reaction,
    IReactionPublic,
    IReactionDisposer,
    untracked,
    IAtom,
    createAtom,
    spy,
    IComputedValue,
    IEqualsComparer,
    comparer,
    IEnhancer,
    IInterceptable,
    IInterceptor,
    IListenable,
    IObjectWillChange,
    IObjectDidChange,
    isObservableObject,
    IValueDidChange,
    IValueWillChange,
    IObservableValue,
    isBoxedObservable,
    IObservableArray,
    IArrayWillChange,
    IArrayWillSplice,
    IArraySplice,
    IArrayUpdate,
    IArrayDidChange,
    isObservableArray,
    IKeyValueMap,
    ObservableMap,
    IMapEntries,
    IMapEntry,
    IMapWillChange,
    IMapDidChange,
    isObservableMap,
    IObservableMapInitialValues,
    ObservableSet,
    isObservableSet,
    ISetDidChange,
    ISetWillChange,
    IObservableSetInitialValues,
    transaction,
    observable,
    IObservableFactory,
    CreateObservableOptions,
    computed,
    IComputedFactory,
    isObservable,
    isObservableProp,
    isComputed,
    isComputedProp,
    extendObservable,
    observe,
    intercept,
    autorun,
    IAutorunOptions,
    reaction,
    IReactionOptions,
    when,
    IWhenOptions,
    action,
    isAction,
    runInAction,
    IActionFactory,
    keys,
    values,
    entries,
    set,
    remove,
    has,
    get,
    ownKeys,
    apiDefineProperty,
    configure,
    onBecomeObserved,
    onBecomeUnobserved,
    flow,
    isFlow,
    flowResult,
    FlowCancellationError,
    isFlowCancellationError,
    toJS,
    trace,
    IObserverTree,
    IDependencyTree,
    getDependencyTree,
    getObserverTree,
    resetGlobalState,
    getGlobalState,
    getAtom,
    getAdministration,
    allowStateChanges, // This has become the default behavior in Mobx 6
    Lambda,
    $mobx,
    isComputingDerivation,
    onReactionError,
    interceptReads,
    IComputedValueOptions,
    IActionRunInfo,
    _startAction,
    _endAction,
    allowStateReadsStart,
    allowStateReadsEnd,
    makeObservable,
    makeAutoObservable,
    autoAction,
    AnnotationsMap,
    AnnotationMapEntry,
    override,
} = tsuki;

export default tsuki;
